package cn.mujiankeji.mbrowser.界面.框架

import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import cn.mujiankeji.mbrowser.工具.mlog
import cn.mujiankeji.mbrowser.app.界面模块
import cn.mujiankeji.mbrowser.界面.小窗页.信息窗口实现
import cn.mujiankeji.mbrowser.界面.小窗页.信息窗口状态
import cn.mujiankeji.mbrowser.界面.小窗页.广告拦截.广告拦截规则管理窗口实现
import cn.mujiankeji.mbrowser.界面.小窗页.广告拦截.广告拦截规则管理窗口状态
import cn.mujiankeji.mbrowser.界面.小窗页.扫码窗口实现
import cn.mujiankeji.mbrowser.界面.小窗页.扫码窗口状态
import cn.mujiankeji.mbrowser.界面.小窗页.数字输入窗口实现
import cn.mujiankeji.mbrowser.界面.小窗页.数字输入窗口状态
import cn.mujiankeji.mbrowser.界面.小窗页.文本编辑窗口实现
import cn.mujiankeji.mbrowser.界面.小窗页.文本编辑窗口状态
import cn.mujiankeji.mbrowser.界面.小窗页.管理.用户脚本窗口实现
import cn.mujiankeji.mbrowser.界面.小窗页.管理.用户脚本窗口状态
import cn.mujiankeji.mbrowser.界面.小窗页.管理.网站设置窗口实现
import cn.mujiankeji.mbrowser.界面.小窗页.管理.网站设置窗口状态
import cn.mujiankeji.mbrowser.界面.小窗页.管理.网页日记窗口实现
import cn.mujiankeji.mbrowser.界面.小窗页.管理.网页日记窗口状态
import cn.mujiankeji.mbrowser.界面.小窗页.设置小窗实现
import cn.mujiankeji.mbrowser.界面.小窗页.设置小窗状态
import cn.mujiankeji.mbrowser.界面.小窗页.搜索输入窗口实现
import cn.mujiankeji.mbrowser.界面.小窗页.详情输入小窗页面状态
import cn.mujiankeji.mbrowser.界面.小窗页.请求.下载请求窗口实现
import cn.mujiankeji.mbrowser.界面.小窗页.请求.主页标签编辑窗口实现
import cn.mujiankeji.mbrowser.界面.小窗页.请求.主页标签编辑窗口状态
import cn.mujiankeji.mbrowser.界面.小窗页.请求.添加书签窗口实现
import cn.mujiankeji.mbrowser.界面.小窗页.请求.添加书签窗口状态
import cn.mujiankeji.mbrowser.界面.小窗页.请求.用户脚本请求安装窗口实现
import cn.mujiankeji.mbrowser.界面.小窗页.请求.用户脚本安装窗口状态
import cn.mujiankeji.mbrowser.界面.小窗页.请求.请求下载窗口状态
import cn.mujiankeji.mbrowser.界面.小窗页.配置小窗实现
import cn.mujiankeji.mbrowser.界面.小窗页.配置小窗状态
import cn.mujiankeji.mbrowser.界面.框架.小窗视图.小窗状态
import org.koin.compose.koinInject


@Composable
fun 界面小窗视图(state : 界面模块 = koinInject()){
    DisposableEffect(Unit) {
        onDispose {
            mlog("关闭界面小窗视图")
        }
    }
    if (state.小窗列表.size == 0) return
    else {
        state.小窗列表.forEach {
            加载小窗(it)
        }
    }
}

@Composable
private fun 加载小窗(state : 小窗状态){
    when(state){
        is 详情输入小窗页面状态 -> 搜索输入窗口实现(state)
        is 配置小窗状态 -> 配置小窗实现(state)
        is 设置小窗状态 -> 设置小窗实现(state)
        is 添加书签窗口状态 -> 添加书签窗口实现(state)
        is 文本编辑窗口状态 -> 文本编辑窗口实现(state)
        is 数字输入窗口状态 -> 数字输入窗口实现(state)
        is 网页日记窗口状态 -> 网页日记窗口实现(state)
        is 用户脚本窗口状态 -> 用户脚本窗口实现(state)
        is 用户脚本安装窗口状态 -> 用户脚本请求安装窗口实现(state)
        is 信息窗口状态 -> 信息窗口实现(state)
        is 请求下载窗口状态 -> 下载请求窗口实现(state)
        is 广告拦截规则管理窗口状态 -> 广告拦截规则管理窗口实现(state)
        is 扫码窗口状态 -> 扫码窗口实现(state)
        is 主页标签编辑窗口状态 -> 主页标签编辑窗口实现(state)
        is 网站设置窗口状态 -> 网站设置窗口实现(state)
        else -> {
            throw Exception("没加入哦")
        }
    }
}